CodeMirror 6
https://gyazo.com/fee678243d85d5b2899e14b43e670334
marijnh氏が開発している CodeMirror の次期バージョン CodeMirror.next という名前で開発が続けられてきたが、6 としてリリースされた
疎結合
5 までの中央集権的なアーキテクチャから打って変わって、ものすごい疎結合になった
うち1個は CodeMirror 5 のリポジトリ
それにしても多すぎる teramotodaiki.icon
@codemirror/basic-setup という npm パッケージとしても頒布されているが、これを使うとカスタマイズが出来ないので注意
https://gyazo.com/b819e62234c18ab07b15fbb899deb51d
1つ1つがリポジトリに分割されている
basic-setup に入ってるけど何なのかよくわからない Extension
highlightActiveLineGutter()
入れてみたけど、ずっと1行目をハイライトし続けている
highlightSpecialChars()
config を入れてないと意味ないのでは?
bracketMatching を使うのに必要だった…罠すぎる そんなことなかった。再ビルドしたら色ついた?なんで??
drawSelection
ブラウザのネイティブな選択範囲ではなく、DOM を使って仮想的な選択範囲を描画する
the native selection styling will often leave gaps between lines and won't fill the horizontal space after a line when the selection continues past it
と書いてあったけど、特にそんなこともなさそう?
allowMultipleSelections
複数カーソルを実現する
複数のカーソルを描画するために drawSelection が必要